In one type of space application, a device traveling in space transmits data to a device located on Earth. A device traveling in space is also referred to here as a “space device.” Examples of space devices include without limitation a satellite and a space vehicle. A device located on Earth is also referred to here as an “Earth-bound device.” An example of an Earth-bound device is a mission control center. Data that is transmitted from a space device to an Earth-bound device is also referred to here as “downstream data” or “payload data.” Examples of payload data include without limitation scientific data obtained from one or more sensors or other scientific instruments included in or on a space device.
In some applications, the quantity of payload data that is collected by and transmitted from a space device to an Earth-bound device approaches or even exceeds the physical limits of the communication link between the space device and the Earth-bound device. One approach to reducing the quantity of payload data that is communicated from a space device to an Earth-bound device is to increase the amount of processing that is performed on the space device. In other words, the space device processes the raw payload data that otherwise would be included in the downstream data. Typically, the resulting processed data is significantly smaller in size than the raw payload data. The resulting data from such processing is then transmitted from the space device to the Earth-bound device as the downstream data.
One way to process raw payload data on a space device employs application-specific integrated circuits (ASICs). Application-specific integrated circuits, while efficient, typically are mission-specific and have limited scalability, upgradeability, and reconfigurability.
Another way to process raw payload data makes use of antifuse field programmable gate arrays (FPGAs). Such an approach typically lowers implementation cost and time. Also, antifuse FPGAs typically exhibit a high degree of tolerance to radiation. However, antifuse FPGAs are typically not re-programmable. Consequently, an antifuse FPGA that has been configured for one application cannot be re-configured for another application.
Another way to process such raw payload data makes use of re-programmable FPGAs. However, re-programmable FPGAs are typically susceptible to single event upsets. A single event upset (SEU) occurs when an energetic particle penetrates the FPGA (or supporting) device at high speed and high kinetic energy. For example, the energetic particle can be an ion, electron, or proton resulting from solar radiation or background radiation in space. The energetic particle interacts with electrons in the device. Such interaction can cause the state of a transistor in an FPGA to reverse. That is, the energetic particle causes the state of the transistor to change from a logical “0” to a logical “1” or from a logical “1” to a logical “0.” This is also referred to here as a “bit flip.” The interaction of an energetic particle and electrons in an FPGA device can also introduce a transient current into the device.